package org.jiuling.local.tools.convert;

/**
 * 16进制转换
 * @author 紫灵
 * @date 2022/9/24年09月24日 14时44分50秒
 */
@Deprecated
public class HexConvert {

    /**
     * 转换为ASCII字符串
     * @param hexStr 16进制字符串
     * @return ASCII字符串
     */
    public static String toASCIIString(String hexStr){
        StringBuilder stringBuilder = new StringBuilder();

        for( int i=0; i<hexStr.length()-1; i+=2 ){
            // 将数字转为字符
            stringBuilder.append((char)Integer.parseInt(
                    // 获取16进制字符
                    hexStr.substring(i, (i + 2)),
                    16));
        }
        return stringBuilder.toString();
    }

    /**
     * 转换为二进制字符串
     * @param str 字符串
     * @return
     */
    public static byte[] toBinary(String str){
        str = str.replace(" ", "");
        int len = str.length();
        if (!(len % 2 == 0)) {
            return null;
        }
        int num = len / 2;
        byte[] para = new byte[num];
        for (int i = 0; i < num; i++) {
            int value = Integer.valueOf(str.substring(i * 2, 2 * (i + 1)), 16);
            para[i] = (byte) value;
        }
        return para;
    }
}
